import { getLevelListApi, createLevelApi, updateLevelApi, deleteLevelApi } from '@/api/athlete'
import type { LevelRecord, LevelListResponse } from './types'

/**
 * 获取运动员等级列表
 * @param athleteId 运动员ID
 * @returns 等级列表
 */
export const getAthleteLevelList = async (athleteId: string | number): Promise<LevelListResponse> => {
	// 安全转换ID为数字（如果是字符串）
	const infoId = typeof athleteId === 'string' ? parseInt(athleteId, 10) : athleteId
	return await getLevelListApi(infoId)
}

/**
 * 创建运动员等级记录
 * @param data 等级数据
 * @returns 创建结果
 */
export const createAthleteLevel = async (data: Partial<LevelRecord>) => {
	return await createLevelApi(data)
}

/**
 * 更新运动员等级记录
 * @param id 记录ID
 * @param data 等级数据
 * @returns 更新结果
 */
export const updateAthleteLevel = async (id: string | number, data: Partial<LevelRecord>) => {
	const numericId = typeof id === 'string' ? parseInt(id, 10) : id
	return await updateLevelApi({
		...data,
		id: numericId
	})
}

/**
 * 删除运动员等级记录
 * @param id 记录ID
 * @returns 删除结果
 */
export const deleteAthleteLevel = async (id: string | number) => {
	return await deleteLevelApi(id)
}
